﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq.Expressions;
using Crossroad.Core.Helper;
using Crossroad.Core.Models;
using Crossroad.System.Admin.Model;
using SqlSugar;

namespace Crossroad.System.Admin.Service
{
	/// <summary>
    /// 角色关联菜单操作
    /// </summary>
    public interface IRoleJoinMenuOptionService: IRelevantData<RoleJoinMenuOption>
    {

        /// <summary>
        /// 查询列表
        /// </summary>
        /// <param name="method"></param>
        /// <param name="loadRelevantData">是否加载关联数据</param>
        /// <returns></returns>
        List<RoleJoinMenuOption> GetList(
            Action<ISugarQueryable<RoleJoinMenuOption>> method,
			bool loadRelevantData = true
        );

        /// <summary>
        /// 新增返回详情
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        void CreateAt(RoleJoinMenuOption model);

        /// <summary>
        /// 批量新增
        /// </summary>
        /// <param name="models"></param>
        void CreateBatch(List<RoleJoinMenuOption> models);

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="source"></param>
        void DeleteAt(RoleJoinMenuOption source);

        /// <summary>
        /// 批量删除
        /// </summary>
        /// <param name="model"></param>
        void DeleteBatch(RoleJoinMenuOption model);

    }
}

